﻿using Seg.Datos;
using Seg.Entidades;
using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;
using System.Threading.Tasks;

namespace Seg.Logica
{
    public class OpcionLogica
    {
        OpcionDatos dal = new OpcionDatos();

        //public int Insertar(Opcion entidad)
        //{
        //    return 0;// dal.Insertar(entidad);
        //}

        public List<OpcionResult> Listar(int CodigoSistema, int codigoModulo, int CodigoPerfil)
        {
            return dal.Listar(CodigoSistema, codigoModulo, CodigoPerfil);
        }
        public List<SEGSS_OPCION_X_PERFIL_Result> ListarXPerfil(int CodigoPerfil)
        {
            return dal.ListarXPerfil(CodigoPerfil);
        }
        public List<Opcion> ContarOpcion(int nivel, int? CodigoOpcion, int? CodigoOpcionPadre)
        {
            return dal.ContarOpcion(nivel,CodigoOpcion,CodigoOpcionPadre);
        }
        public int Insertar(Opcion entidad, decimal codigoPerfil)
        {
            return dal.Insertar(entidad, codigoPerfil);
        }
        public int Eliminar(int id)
        {
            return dal.Eliminar(id);
        }
        public int Actualizar(Opcion entidad)
        {
            return dal.Actualizar(entidad);
        }
        public Opcion OpcionXCodigo(int CodigoOpcion)
        {
            return dal.OpcionXCodigo(CodigoOpcion);
        }
        public List<SEGSS_OPCION_X_SITUACION_Result> ListarOpcion(int CodigoSistema, int CodigoModulo, int CodigoPerfil, string anulado)
        {
            return dal.ListarOpcion(CodigoSistema, CodigoModulo, CodigoPerfil, anulado);
        }
        public List<Opcion> OpcionAutoCompletado(string descripcion)
        {
            return dal.OpcionAutoCompletado(descripcion);
        }
        public List<SEGSS_USUARIO_X_NOMBRE_Result> ListaUsuarioXRoles(string Nombre, string anulado)
        {
            return dal.ListaUsuarioXRoles(Nombre, anulado);
        }
        public List<SEGSS_OPCION_X_USU_PERFIL_Result> ListarOpcionXPerfilUsu(int CodigoPerfilUsuario, int CodigoPerfil)
        {
            return dal.ListarOpcionXPerfilUsu(CodigoPerfilUsuario, CodigoPerfil);
        }
        public List<SEGSS_OPCION_X_PERFIL_PADRE_Result> ListarXPerfilOpcPadre(int CodigoPerfil, int CodigoOpcionPadre)
        {
            return dal.ListarXPerfilOpcPadre(CodigoPerfil, CodigoOpcionPadre);

        }
        public int ActualizarOrden(int CodigoPerfil, int CodigoOpcion, short Orden, int UsuarioActual, int CodigoOpcionPadre)
        {
            return dal.ActualizarOrden(CodigoPerfil, CodigoOpcion, Orden, UsuarioActual, CodigoOpcionPadre);
        }
        public int ValidarUsuarioXPerfilUsuario(int CodigoOficina, int CodigoPerfil, int CodigoUsuario)
        {
            return dal.ValidarUsuarioXPerfilUsuario(CodigoOficina, CodigoPerfil, CodigoUsuario);
        }
    }
}
